package com.wdemo.service;

import reactor.core.publisher.Flux;

/**
 * @ClassName chatService
 * @Description TODO
 * @Author WDEMO
 * @Date 2025/8/29 12:25
 */
public interface ChatService {

    /**
     * 流式返回
     * @param prompt  提示词
     * @param sessionId 会话id
     * @return
     */
    Flux<String> chatStream(String prompt, String sessionId);

    /**
     * 哄哄模拟器
     * @param prompt  提示词
     * @param sessionId 会话id
     * @return
     */
    Flux<String> game(String prompt, String sessionId);

    /**
     * 客服
     * @param prompt  提示词
     * @param chatId  会话id
     * @return
     */
    Flux<String> service(String prompt, String chatId);

    /**
     * 获取对话id，redis规则：CHAT(在RedisMemory中定义了):会话id
     *
     * @param sessionId 会话id
     * @return 对话id
     */
    static String getConversationId(String sessionId) {
        //通过redis储存，当前会话
        return sessionId;
    }
}
